package com.ruoyi.user.service;

import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.user.domain.UserOrder;

import java.util.List;

/**
 * 用户订单Service接口
 *
 * @author houyong
 * @date 2025-11-20
 */
public interface IUserOrderService {
    /**
     * 查询用户订单
     *
     * @param id 用户订单主键
     * @return 用户订单
     */
    UserOrder selectUserOrderById(Long id);

    /**
     * 查询用户订单列表
     *
     * @param userOrder 用户订单
     * @return 用户订单集合
     */
    List<UserOrder> selectUserOrderList(UserOrder userOrder);

    /**
     * 新增用户订单
     *
     * @param goodsId 用户订单
     * @return 结果
     */
    AjaxResult insertUserOrder(Integer goodsId, String uid);

    /**
     * 修改用户订单
     *
     * @param userOrder 用户订单
     * @return 结果
     */
    int updateUserOrder(UserOrder userOrder);

    /**
     * 批量删除用户订单
     *
     * @param ids 需要删除的用户订单主键集合
     * @return 结果
     */
    int deleteUserOrderByIds(Long[] ids);

    /**
     * 删除用户订单信息
     *
     * @param id 用户订单主键
     * @return 结果
     */
    int deleteUserOrderById(Long id);

    UserOrder findOrderByOrderId(String orderId);

    void thirdPaySuccess(UserOrder order, int totalFeeI, Long payTimeL);
}
